import { memo } from "react"
//如果ComponentA只接受count,则每次props都相同，不会重新渲染(memo原因)
//但是如果ComponentA接受了函数，则每次父组件重新渲染，函数总是重新生成不相同，所以每次父组件渲染，自己就一定渲染
//换成iOS，就是memo 基础类型的化比较值，对象类型比较引用。count是值，哪怕重新赋值成自己当前值，也不会重新渲染，但是函数是引用，每次都重新生成

//usecallback,相当于保留引用，尽量不再生成新方法地址，从而不引起ComponentA的更新

//useMemo 缓存函数调用的结果
//useCallback 缓存函数本身


// const ComponentA = (props) => {
//   console.log('重新渲染')
//   return (
//     <div>
//       hello
//       <button onClick={props.handleSubmit}>调用parent method</button>
//     </div>
//   )
// }

const ComponentA = memo(function ComponentA(props){
  console.log('重新渲染')
  return (
    <div>
      {props.count}
    </div>
  )
})
export default ComponentA